﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HerGoS.Documentos.Entities;
using HerGoS.ControlsUI;
using HerGoS.Documentos.Engine;

namespace HerGoS.WebUI.Documentos.Movimiento
{
    public partial class CantidadMovimientosPorTipo : PageBase
    {

        #region Propiedades
        public List<CantidadLegajosPorTipoMovDTO> CantidadLegajosPorTipoMovDTO
        {
            get
            {
                if (ViewState["CantidadLegajosPorTipoMovDTO"] != null)
                    return (List<CantidadLegajosPorTipoMovDTO>)ViewState["CantidadLegajosPorTipoMovDTO"];
                return null;
            }
            set
            {
                ViewState["CantidadLegajosPorTipoMovDTO"] = value;
            }

        }
        #endregion



        protected void Page_Load(object sender, EventArgs e)
        {

            if (!Page.IsPostBack)
            {
                Initialize();
                LoadGridCantPorTipoMovimiento();

                this.cboTipoDoc.DataSource = GestorTipoDocumentos.Consultar();
                cboTipoDoc.DataTextField = "Descripcion";
                cboTipoDoc.DataValueField = "OID";
                cboTipoDoc.DataBind();
                cboTipoDoc.Items.Insert(0, new ListItem("--Todos-- ", "0"));
            }
        }


        void Initialize()
        {
            this.GridCantPorTipoMovimiento.Settings(new GridViewExtBasic());
                      
        }

        private void LoadGridCantPorTipoMovimiento()
        {
            CantidadLegajosPorTipoMovDTO = GestorMovimientos.ListarCantidadLegajosPorTipo(null);
            this.GridCantPorTipoMovimiento.DataSource = CantidadLegajosPorTipoMovDTO;
        
            
            this.GridCantPorTipoMovimiento.DataBind();
        }


        
        protected void GridCantPorTipoMovimiento_RowCommand(object sender, GridViewCommandEventArgs e)
        {

            if (e.CommandName == "Mostrar")
            {

                int index = Convert.ToInt32(e.CommandArgument);
                int Id = Convert.ToInt32(GridCantPorTipoMovimiento.DataKeys[index].Values["OID"]);
                string tipomov = Convert.ToString(GridCantPorTipoMovimiento.DataKeys[index].Values["DescripcionTipoMov"]);

                Response.Redirect("ListadoMovimientosPorTipo.aspx?Id=" + Id + "&tipomov=" + tipomov + "&TipoDoc=" + cboTipoDoc.SelectedValue.ToString());

            }

        }

        protected void cboTipoDoc_Changed(object sender, EventArgs e)
        {

            List<CantidadLegajosPorTipoMovDTO> filtroResult = null;


            var res = cboTipoDoc.SelectedValue.ToInteger();

            if (res == 0)
            {
                filtroResult = GestorMovimientos.ListarCantidadLegajosPorTipo(null);
            }
            else
            {
                filtroResult = GestorMovimientos.ListarCantidadLegajosPorTipo(res);
            }


            this.GridCantPorTipoMovimiento.DataSource = filtroResult;
            this.GridCantPorTipoMovimiento.DataBind();

        }


    }

}